﻿using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using dao.daos;
using negocio.commons;
using negocio.entidades;

namespace negocio.servicios
{
    public class TipoDocumentoService: IService<TipoDocumento>
    {
        private TipoDocumentoDao dao = new TipoDocumentoDao(); 

        public List<TipoDocumento> ObtenerTodo()
        {
            return LeerDataReaderList(dao.ObtenerTodo());
        }

        public List<TipoDocumento> ObtenerActivos()
        {
            return LeerDataReaderList(dao.ObtenerActivos());
        }

        public TipoDocumento ObtenerPorId(int id)
        {
            return LeerDataReader(dao.ObtenerPorId(id));
        }

        public bool Existe(TipoDocumento busObject)
        {
            throw new NotImplementedException();
        }

        public void Eliminar(TipoDocumento busObject)
        {
            throw new NotImplementedException();
        }

        public void Insertar(TipoDocumento busObject)
        {
            throw new NotImplementedException();
        }

        public void Modificar(TipoDocumento busObject)
        {
            throw new NotImplementedException();
        }

        private TipoDocumento LeerDataReader(SqlDataReader dr)
        {
            TipoDocumento bus = new TipoDocumento();
            while (dr.Read())
            {
                bus.Id = Convert.ToInt32(dr["ID_TIPO"]);
                bus.Nombre = Convert.ToString(dr["NOMBRE"]);
            }
            dr.Close();
            return bus;
        }

        private List<TipoDocumento> LeerDataReaderList(SqlDataReader dr)
        {
            List<TipoDocumento> listBus = new List<TipoDocumento>();
            while (dr.Read())
            {
                TipoDocumento bus = new TipoDocumento();
                bus.Id = Convert.ToInt32(dr["ID_TIPO"]);
                bus.Nombre = Convert.ToString(dr["NOMBRE"]);
                listBus.Add(bus);
            }
            dr.Close();
            return listBus;
        }
    }
}
